The present invention relates to a system for interacting with the visual display in a computer system. More particularly, the present invention relates to a system for providing and controlling a cursor used to select targets on a visual display in a computer system.
A number of visual display devices are in common use in computer systems. Among those systems are cathode rate tubes (CRTs) and liquid crystal displays (LCDs). While the particular type of display device is immaterial to the present invention, this section of the document contains a short description of these common display devices for the purposes of general clarity.
In a CRT, an electron beam is deflected by a magnetic field such that it impinges on elements of phosphorous which are arranged as a matrix behind a computer screen. Impingement of the electron beam on the phosphorous elements causes the phosphorous to change state and to thus release photons. In order to obtain a color display, separate electron beams (typically red, blue and green electron beams) are used to strike separate phosphorous elements arranged in the matrix. This combination of primary colors is used to obtain different colors in the visual display.
Similarly, LCDs typically have a layer of liquid crystal material elements arranged in a matrix. A matrix of electrodes is arranged on either side of the liquid crystal layer, such that electrodes contact both sides of each liquid crystal element in the liquid crystal array. A polarizer layer is provided on an input side of the liquid crystal matrix and an analyzer layer is provided on an output side of the liquid crystal matrix. Both the polarizer layer and the analyzer layer have linear polarizing elements. The liquid crystal material in the liquid crystal matrix changes the orientation of light passing therethrough based upon a signal applied to the liquid crystal elements by the electrodes in the electrode arrays. The light transmitted through the liquid crystal layer is analyzed by the analyzer layer and is used to generate the visual display. As with CRTs, LCDs typically have three or more liquid crystal display subpixel elements (typically red, green and blue) corresponding to each position in the liquid crystal matrix. These subpixel elements are energized in order to obtain a color display.
While many other types of displays can also be used with computer systems, LCDs and CRTs are currently in wise use and have therefore been discussed simply for purposes of illustration.
In order to generate a display, a coordinate system which is associated with a display matrix is typically set up in the memory of the computer system. In many conventional computer systems, the coordinate system is three-dimensional. Thus, a set of coordinates defines a point in the coordinate system. Images to be displayed on the display screen, which are larger than a single point, are defined by a set of points in the coordinate system, wherein each point is defined by a set of coordinates. Since the coordinate system is often three dimensional, images can be overlaid, over one another in the coordinate system and can thus give an overlaid appearance on the display screen.
User input devices (one example of which is a point and click device often referred to as a mouse) typically allow the user to physically manipulate the device and thus cause a cursor to move across the visual display in a corresponding manner. The computer system receives position information from the mouse, based upon the user's physical manipulation of the mouse, and causes a pointer in the coordinate system to move through various positions in the coordinate system based upon the position information. The position of the pointer in the coordinate system defines where on the display the cursor is to be displayed.
A typical mouse also has an actuation input, such as a button, which allows the user to select a target which is also represented by an image on the visual display. The user places a "hot spot" associated with the mouse cursor within an active region of a desired target to acquire the target and depresses the actuation input to select the target. While the mouse cursor is typically defined by a two-dimensional area within the coordinate system (e.g., a 32.times.32 two-dimensional grid in the coordinate system) the so called "hot spot" of the mouse cursor is only a single point in the coordinate system. Therefore, in order for the user to select a target, the single point in the coordinate system defining the hot spot must be within the bounds of the active region associated with the target in the coordinate system when the actuation button is depressed by the user. In other words, the user must place the individual point which represents the cursor hot spot into the target before the target is selected or acquired and before the target can receive any event from the pointing device.
This type of model leads to suboptimal target acquisition. Often, the targets are large and are spaced relatively large distances from one another on the screen (and hence in the coordinate system maintained in the memory of the computer system). Yet, since the hot spot of the mouse cursor is only a single point in the coordinate system, in order to select a target, the user must exercise a relatively high degree of precision, which increases user fatigue.
One conventional approach to addressing this problem has been to increase the size of the targets. However, in many cases, this can be contradictory to visual design aesthetics. Another conventional method of attempting to solve the problem is to maintain the graphic depiction of the target small, but make the target sensitive area (or active area) larger. This also fails to solve the present problem because users tend to manipulate the pointing device with the same amount of precision which is impliedly required by the user interface graphical representations. Thus, in the latter case, the user tends to manipulate the pointing device with unneeded precision in order to acquire small visual targets, resulting in lower acquisition speed and higher fatigue.